package com.e3.sysmg.security.client;

import java.util.List;

import com.e3.sysmg.security.model.ModuleModel;
import com.e3.sysmg.security.model.RoleModel;
import com.e3.sysmg.security.model.RoleQC;
import com.google.gwt.user.client.rpc.AsyncCallback;

public interface RoleRPCServiceAsync {

	void getRolesByCondition(RoleQC roleQC,	AsyncCallback<List<RoleModel>> callback);

	void getAllRoles(AsyncCallback<List<RoleModel>> callback);

	void newRole(RoleModel roleModel, AsyncCallback<RoleModel> callback);

	void modifyRole(RoleModel roleModel, AsyncCallback<RoleModel> callback);

	void deleteRoles(List<RoleModel> roleModels,AsyncCallback<Void> callback);

	void getAllModulesOfRole(RoleModel roleModel,AsyncCallback<List<ModuleModel>> callback);

	void getRoleSelfModules(RoleModel roleModel,AsyncCallback<List<ModuleModel>> callback);

}
